<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <script>
        /* 
      Promise.all 作用    可以等待传递它的所有的 promise 方法都完成， Promise.all 就可以触发 then 方法 
      Promise.all([promise1,promise2,promise3,promise4])
      .then(()=>{
        // 业务
      })
       */

        Promise.all([fn1(), fn2(), fn3()]).then(() => {
            console.log("都完成啦");
        });

        function fn1() {
            return new Promise((reslove, reject) => {
                setTimeout(() => {
                    console.log("f1 1s完成");
                    reslove();
                }, 1000);
            });
        }
        function fn2() {
            return new Promise((reslove, reject) => {
                setTimeout(() => {
                    console.log("f2 2s完成");
                    reslove();
                }, 2000);
            });
        }
        function fn3() {
            return new Promise((reslove, reject) => {
                setTimeout(() => {
                    console.log("f3 3s完成");
                    reslove();
                }, 3000);
            });
        }
    </script>
</body>

</html>